package com.fulihui.information.util;

import com.fulihui.information.dto.ContentListItemDTO;

/**
 * @author Willard Hu on 2017/1/11.
 */
public class ContentScoreUtil {

    /**
     * 普通类目的评分方式是创建时间的unix时间戳
     *
     * @param item {@link ContentListItemDTO}
     * @return 分数
     */
    public static double categoryScore(ContentListItemDTO item) {
        return item.getGmtCreate();
    }

    /**
     * 热门阅读数的评分方式是创建时间的unix时间戳，加上阅读数*60，unix时间戳是秒单位，
     *
     * @param item {@link ContentListItemDTO}
     * @return 分数
     */
    public static double hotsReadTimesScore(ContentListItemDTO item) {
        return item.getGmtCreate() + convReadTimesScore(item.getReadTimes());
    }

    /**
     * 阅读数*60表示1阅读数相当与增加1分钟的新鲜时间
     *
     * @param readTimes 阅读数
     * @return 计算后的分值
     */
    public static double convReadTimesScore(long readTimes) {
        return readTimes * 60;
    }

    /**
     * 热门分享数的评分方式是创建时间的unix时间戳，加上分享数*60，unix时间戳是秒单位，
     *
     * @param item {@link ContentListItemDTO}
     * @return 分数
     */
    public static double hotsSharedTimesScore(ContentListItemDTO item) {
        return item.getGmtModified() + convSharedTimesScore(item.getShared());
    }

    /**
     * 分享数*60表示1分享数相当与增加1分钟的新鲜时间
     *
     * @param sharedTimes 分享次数
     * @return 计算后的分值
     */
    public static double convSharedTimesScore(long sharedTimes) {
        return sharedTimes * 60;
    }
}
